#!/usr/pkg/bin/bash
#od -b -A n | sed -e "s/ *\(.*\)$/\1/"
TP0=./tp0
TRUNCATE=./truncate
FILE=/tmp/file.bin
FILEOD=/tmp/od.out
FILETP=/tmp/tpo.out
FILETPBIN=/tmp/tpo.bin

echo "Probando la codificacion de un archivo binario de 1000 bytes contra el od del sistema"
echo "Generando archivo random"
head -c 1000 /dev/urandom > $FILE
echo "Generando volcado con el comando od"
more $FILE | od -b | sed -e "s/[0-9]* *\(.*\)$/\1/" | sed -e "/^ *$/d" > $FILEOD
echo "Generando el volcado con la aplicacion"
#$TP0 -i file.bin -d ' ' -l 16
$TP0 -d ' ' -l 16 -i $FILE -o $FILETP
size=`ls -l $FILETP | awk '{print $5}'`
echo "Truncando el archivo generado con el od"
$TRUNCATE $FILEOD $size
d=`diff -q $FILEOD $FILETP`
echo "Comprando los archivos"
if [ -z "$d" ]; then
  echo "La codificacion fue exitosa"
else
  echo "La coficacion fallo, los archivos no son iguales"       
fi
echo "Probando la decoficicacion"
echo "Decodificando archivo"
$TP0 -b -d ' ' -l 16 -i $FILETP -o $FILETPBIN
d=`diff -q $FILE $FILETPBIN`
if [ -z "$d" ]; then
  echo "La decodificacion fue exitosa, coincide con el archivo original"
else
  echo "La decodificacion fallo."
fi

